'''
    使用 request. bs4 库下载中原工学院主页上的所有图片
'''

import os
import requests
from bs4 import BeautifulSoup

def getHtmlCode(url):
    '''
        该方法传入url, 返回url的html 的源代码
    '''
    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 UBrowser/4.0.3214.0 Safari/537.36'
    }
    r = requests.get(url, headers=headers)
    r.encoding='UTF-8' # 指定网页解析的编码格式
    page=r.text # 获取url页面的源代码字符串文本
    return page

def getImg(page, localPath):
    '''
        传入html的源码，截取其中的img标签，将图片保存到本机
    '''
    if not os.path.exists(localPath): # 如果不存在该地址
        os.mkdir(localPath)

    soup = BeautifulSoup(page, 'html.parser') # 按照html格式解析页面
    imgList=soup.find_all('img') # 返回包含所有　img 标签的列表
    x=0
    for imgUrl in imgList: # 列表循环
        try:
            print('正在下载:%s'%imgUrl.get('src'))
            if 'http://' not in imgUrl.get('src'): # 不是绝对路径 http开始
                m='http://www.zut.edu.cn/'+imgUrl.get('src') # 补全绝对路径
                print('正在下载:%s'%m)
                ir = requests.get(m)
            else:
                ir = requests.get(imgUrl.get('src'))

            #用 write()　方法写入本地文件中
            open(localPath +'%d.jpg'%x, 'wb').write(ir.content)
            x+=1
        except:
            continue

if __name__ == "__main__":
    url = 'http://www.zut.edu.cn/'
    localPath='/home/colby/work/python_project/reptile/tmpimg/'
    page = getHtmlCode(url)
    getImg(page, localPath)
